﻿using Newtonsoft.Json;

namespace LeafulWeiboSdk.Metadata
{
    public class UserMetadata : BaseMetadata
    {
        /// <summary>
        /// 用户UID
        /// </summary>
        [JsonProperty("id")]
        public string Id { get; set; }
        /// <summary>
        /// 用户UID(字符型)
        /// </summary>
        [JsonProperty("idstr")]
        public string IdString { get; set; }
        /// <summary>
        /// 用户昵称
        /// </summary>
        [JsonProperty("screen_name")]
        public string ScreenName { get; set; }
        /// <summary>
        /// 友好显示名称
        /// </summary>
        [JsonProperty("name")]
        public string Name { get; set; }
        /// <summary>
        /// 用户所在地区ID
        /// </summary>
        [JsonProperty("province")]
        public string Province { get; set; }
        /// <summary>
        /// 用户所在城市ID
        /// </summary>
        [JsonProperty("city")]
        public string City { get; set; }
        /// <summary>
        /// 用户所在地
        /// </summary>
        [JsonProperty("location")]
        public string Location { get; set; }
        /// <summary>
        /// 用户描述
        /// </summary>
        [JsonProperty("description")]
        public string Description { get; set; }
        /// <summary>
        /// 用户博客地址
        /// </summary>
        [JsonProperty("url")]
        public string Url { get; set; }
        /// <summary>
        /// 用户头像地址
        /// </summary>
        [JsonProperty("profile_image_url")]
        public string ProfileImageUrl { get; set; }
        /// <summary>
        /// 用户微博主页地址
        /// </summary>
        [JsonProperty("profile_url")]
        public string ProfileUrl { get; set; }
        /// <summary>
        /// 用户的个性化域名
        /// </summary>
        [JsonProperty("domain")]
        public string Domain { get; set; }
        /// <summary>
        /// 用户的微号
        /// </summary>
        [JsonProperty("weihao")]
        public string Weihao { get; set; }
        /// <summary>
        /// 性别，m：男、f：女、n：未知
        /// </summary>
        [JsonProperty("gender")]
        public string Gender { get; set; }
        /// <summary>
        /// 粉丝数
        /// </summary>
        [JsonProperty("followers_count")]
        public int FollowersCount { get; set; }
        /// <summary>
        /// 关注数
        /// </summary>
        [JsonProperty("friends_count")]
        public int FriendsCount { get; set; }
        /// <summary>
        /// 微博数
        /// </summary>
        [JsonProperty("statuses_count")]
        public int StatusesCount { get; set; }
        /// <summary>
        /// 收藏数
        /// </summary>
        [JsonProperty("favourites_count")]
        public long FavouritesCount { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        [JsonProperty("created_at")]
        public string CreatedAt { get; set; }
        /// <summary>
        /// 当前登录用户是否已关注该用户
        /// </summary>
        [JsonProperty("following")]
        public bool Following { get; set; }
        /// <summary>
        /// 是否允许所有人给我发私信
        /// </summary>
        [JsonProperty("allow_all_act_msg")]
        public bool AllowAllActMsg { get; set; }
        /// <summary>
        /// 是否允许带有地理信息
        /// </summary>
        [JsonProperty("geo_enabled")]
        public bool GeoEnabled { get; set; }
        /// <summary>
        /// 是否是微博认证用户，即带V用户
        /// </summary>
        [JsonProperty("verified")]
        public bool Verified { get; set; }
        /// <summary>
        /// 微博认证用户的类型
        /// </summary>
        [JsonProperty("verified_type")]
        public string VerifiedType { get; set; }
        /// <summary>
        /// 备注信息
        /// </summary>
        [JsonProperty("remark")]
        public string Remark { get; set; }
        /// <summary>
        /// 用户的最近一条微博信息字段
        /// </summary>
        [JsonProperty("status")]
        public StatusMetadata Status { get; set; }
        /// <summary>
        /// 是否允许所有人对我的微博进行评论
        /// </summary>
        [JsonProperty("allow_all_comment")]
        public bool AllowAllComment { get; set; }
        /// <summary>
        /// 用户大头像地址
        /// </summary>
        [JsonProperty("avatar_large")]
        public string AvatarLarge { get; set; }
        /// <summary>
        /// 认证原因
        /// </summary>
        [JsonProperty("verified_reason")]
        public string VerifiedReason { get; set; }
        /// <summary>
        /// 该用户是否关注当前登录用户
        /// </summary>
        [JsonProperty("follow_me")]
        public bool FollowMe { get; set; }
        /// <summary>
        /// 用户的在线状态，0：不在线、1：在线
        /// </summary>
        [JsonProperty("online_status")]
        public int OnlineStatus { get; set; }
        /// <summary>
        /// 用户的互粉数
        /// </summary>
        [JsonProperty("bi_followers_count")]
        public int BiFollowersCount { get; set; }
        /// <summary>
        /// 用户使用语言类型
        /// </summary>
        [JsonProperty("lang")]
        public string Lang { get; set; }
    }
}
